﻿using System.Diagnostics.Contracts;

namespace Library.Collections
{
    public interface ITreeRoot : ITreeReadOnly
    {
        [Pure]
        ITreeRoot Root { get; }
    }
}

namespace Library.Collections.Generic
{
    public interface ITreeRoot<out TNode> : ITreeReadOnly<TNode>
        where TNode : ITreeReadOnly<TNode>
    {
        [Pure]
        TNode Root { get; }
    }
}
